The present disclosure relates to sharing memory resources in computer networks. A broad class of computing innovation involves the combining of computing resources to provide various benefits. For example, a wide variety of technologies are used to allow distributed storage devices (e.g., hard drives) to be combined and logically accessed as a unified, shared storage resource. Processing resources have also been combined and/or divided, for example, in multiprocessor and parallel processing systems, and in virtual machine environments.
The sharing of computer memory (RAM) has proved more difficult in many respects. Typically, discrete memory chips are combined by tightly coupling the chips together with specialized bus circuits, such as on RAM modules, desktop computer motherboards, and the like. Accordingly, hardware requirements often impose limitations on the ability to share and/or increase memory capacity. Although various solutions have been proposed, the solutions commonly involve significant architectural changes and often require specialized software to take advantage of the changed memory architecture.